import type { ExtractPublicPropTypes } from 'vue';

/**
 * @title {h3} global-config 全局配置文件
 */

export const dataProps = {
	/**
	 * @props { Object<Locale>, String } locale='zh-cn'
	 * @description 国际化对象
	 */
	locale: {
		type: [String, Object as () => Object],
		default() {
			return 'zh-cn';
		},
	},
	/**
	 * @props { Number } size='default' ('large' | 'default' | 'small')
	 */
	size: {
		type: String as () => 'large' | 'default' | 'small',
		default() {
			return 'default';
		},
	},
	/**
	 * @props { Number } zIndex
	 */
	zIndex: Number,
	/**
	 * @props { String } cssname
	 * 前缀样式名称
	 */
	cssname: {
		type: String,
		default: '',
	},
	/**
	 * @props { Boolean } element
	 * 是否合并element配置
	 */
	element: {
		type: Boolean,
	},
	/**
	 * @props { String } namespace
	 * element-plus 前缀样式名称
	 */
	namespace: {
		type: String,
		default: '',
	},
	/**
	 * @props { String } alias ()
	 * 组件别名
	 */
	alias: {
		type: String,
		default: '',
	},
};

export type DataProps = ExtractPublicPropTypes<typeof dataProps>;
